Low cost portable computing devices such as handheld or palm-sized computers are widely available. Such devices can support local communication between nearby computers, or more generally can support wireless network or internetwork communications. Users equipped with suitable portable computers can, for example, exchange e-mail, browse the web, utilize mapping software, control nearby computer peripherals (e.g. printers), or receive information from local devices (e.g. job status of a printer). As will be appreciated, flexibility and utility of various applications can be enhanced if the precise spatial location of the portable computing device is known. Knowing the location of the portable computing device (with a precision of several meters or so) permits construction of user specific maps, transfer of location information to others, and receipt of location information for nearby computational or real world resources (e.g. answering such questions as "where is the nearest printer" or "where is the nearest coffee shop"). For this reason, having easily determinable and reliable position information is a useful feature.
However, spatial localization with low cost devices can be difficult. Devices incorporating GPS receivers often do not work indoors because of poor radio reception and can require a substantial amount of time to determine position with a required accuracy. In many areas, there may not be any differential GPS availability to gain the necessary meter level precision for greatest utility. Other wireless schemes for localizing spatial position are generally not sufficiently precise (e.g. digital cellular telephone service areas with 1000 meter errors), or too expensive (inertial navigation systems).